package com.xiaoshuidi.cloud.module.contract.controller.admin.contract.vo;

import com.xiaoshuidi.cloud.module.contract.controller.admin.contract.vo.settlement.SettlementBaseVO;
import com.xiaoshuidi.cloud.module.contract.controller.admin.contract.vo.settlement.SettlementDetailBaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.List;

/**
 * 管理后台 - 租客合同创建 Request VO
 */
@Schema(description = "管理后台 - 退租Vo")
@Data
@ToString(callSuper = true)
public class ContractRefundReqVO  extends SettlementBaseVO {

    /**
     * 批量退租房间合同id
     */
    @NotEmpty(groups = BathInsert.class,message = "企业批量退租合同ids不能为空")
    @Size(groups = BathInsert.class,min = 1,message = "企业批量退租合同ids最小为1")
    private  List<Long> contractIds;
    /**
     * 结算明细
     */
    @Schema(description = "结算明细")
    private List<SettlementDetailBaseVO> settlementVos;

    /**
     * 批量退租所有合同明细
     */
    @Schema(description = "结算明细")
    private List<SettlementDetailBaseVO> settlementVoDetails;
    /**
     * 换房/续租结转
     */
    @Schema(description = "原房间结算明细")
    private List<SettlementDetailBaseVO> oldRoomSettlementVos;
    @Schema(description = "新房间结算明细")
    private List<SettlementDetailBaseVO> newRoomSettlementVos;

    /**
     * 首期账单 金额
     * */
    private BigDecimal firstBillPid;
    /**
     *抵扣金额
     * */
    @NotNull(message = "金额不能为空")
    private BigDecimal discountValue;

    private String operator;

    public interface BathInsert{

    }
}
